//
// Created by ASUS on 2024/4/24/星期三.
//
#include <bits/stdc++.h>
using namespace std;
//必须经过某条边的最长路径长度
int main(){
	int n;cin>>n;
	vector<vector<int>> g(n+1);
	for(int i=0;i<n-1;i++){
		int u,v;cin>>u>>v;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	function<int(int,int)> dfs=[&](int i,int fa)->int{
		int res=0;
		for(auto&j:g[i]){
			if(j!=fa){
				res=max(res,dfs(j,i)+1);
			}
		}
		return res;
	};
	int x,y;cin>>x>>y;
	cout<<dfs(x,y)+dfs(y,x)+1;
	return 0;
}